package com.example.ttt.functions;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

/*
* 获取具体文件列表
* */
@Component
@Slf4j
public class GetDocumentList {

    //	扫描文件
    public List Get_List(String scannerFilePath) {

        if (Objects.isNull(scannerFilePath) || scannerFilePath.equals("")){
            log.info("文件路径为空");
            return null;
        }
//      new一个文件对象
        File fi = new File(scannerFilePath);
//      得到文件路径下所有的文件 或者 文件夹名称 得到一个list
        List<String> list = null;
        try {
            list = Arrays.asList(fi.list());
        } catch (NullPointerException e) {
            System.out.println("文件地址不存在");
        }

        // stream 过滤
        List<String> collect = list.stream().filter(item -> item.contains(".mp3")
                || item.contains(".wav")
                || item.contains(".au")
                || item.contains(".rmf")
                || item.contains(".mid")
                || item.contains(".aif")
                || item.contains(".aiff")
        ).collect(Collectors.toList());
        return collect;
    }

}
